perm filename PROTO.SAI[SYS,HE] blob
sn#056482 filedate 1973-08-30 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "PROTO"
C00005 ENDMK
C⊗;
BEGIN "PROTO"
REQUIRE "⊂⊃⊂⊃" DELIMITERS;
REQUIRE "ABBREV.SAI[H,AJT]" SOURCE_FILE;
INTEGER BGB12,BGB16,BGBRET;
REQUIRE "GEOMES.HDR[BGB,AJT]" SOURCE_FILE;
INTEGER BOD,WORLD, WINDOW, CAMERA, CHAN,BRK,EOF;
INTEGER ARRAY DPYBUF[1:250],VERT[1:20];
REDEFINE TYPE(V)=⊂(MEMORY[V,INTEGER]%2↑18)⊃;
DEFINE PPIOT= ⊂'702000000000⊃;
SIMPLE INTEGER PROCEDURE VCOUNT(INTEGER B);
BEGIN "VC"
INTEGER V,N;
N←0;
V←B;
WHILE B≠(V←PVT(V)) DO BEGIN N←N+1; VERT[N]←V;END;
RETURN(N);
END "VC";
α set up the universe;
WORLD←MKWORLD;
WINDOW←MKWINDOW;
CAMERA←MKCAMERA;
BATT(WORLD,WINDOW);
BATT(CAMERA,WINDOW);
α diddle the page printer;
START_CODE
PPIOT 2,-'480;
PPIOT 3,'3003;
END;
WHILE TRUE DO
BEGIN
INTEGER I,VERTEX,NO_OF_VERT, XCORD,YCORD,XOFFSET,V1X,V1Y;
BOOLEAN HIDE,FLAG; STRING FNAME,OSTR;
OUTSTR(↓&" .B3D ");
BOD←IFORM1;
OUTSTR(" 2 OR 3D :");
IF CVD(INCHWL)=2 THEN BEGIN HIDE←TRUE;SHOW2(WINDOW,0) END
ELSE BEGIN HIDE←FALSE;SHOW1(WINDOW,0);END;
DPYSET(DPYBUF);
NO_OF_VERT←VCOUNT(BOD);
FOR I← 1 STEP 1 UNTIL NO_OF_VERT DO
BEGIN
VERTEX←VERT[I];
IF ¬HIDE ∨ (TYPE(VERTEX) LAND '20) THEN
BEGIN
INTEGER X,Y;
XCORD←XPP(VERTEX); YCORD←YPP(VERTEX);
AIVECT(XCORD*4,YCORD*4);
DPYSST(" ("&CVS(XCORD)&","&CVS(YCORD)&")");
AIVECT(-475,350-(I*20));
DPYSST("VERTEX #"&CVS(VERTEX)&" "&CVS(XCORD)&" "
&CVS(YCORD));
END;
END;
DPYOUT(1);
OUTSTR("ANOTHER B3D FILE? "); IF INCHWL="N" THEN DONE;
KLBFEV(BOD); SHOW1(WINDOW,0); DPYSET(DPYBUF);DPYOUT(1);
END;
END "PROTO";